The light output of a cathode-ray tube (CRT) exhibits a power-law relationship to a video signal (e.g., voltage) applied to the CRT. To compensate for this non-linear behavior, the video signal applied to the CRT typically is "predistorted" with a power law function which is the inverse of that of the CRT. The resulting signal, which is used to modulate the CRT beam intensity, linearizes the overall transfer function of the light output of the CRT relative to the incident light levels at the video camera or other source.
The normalized light output (photometric luminance) from the CRT is defined by the well-known power law function L=E.sup..gamma. where E is the video signal magnitude (e.g., voltage) and .gamma. (i.e., the Greek letter "gamma") is a characteristic of the CRT; L and E are both normalized relative to maximum permissible values. .gamma. is typically in the range of about 2.0 to 2.5. To produce a linear overall characteristic, the incident image from the video camera E.sub.i is transformed to E by the relationship E=E.sub.i.sup.1/.gamma. where again, E and E.sub.i are normalized values. When the video camera output is a linear function of the input illumination, the entire transformation is performed by operating on the video signal output from the camera. This mathematical process of transforming the video camera output by application of an inverse power law is known as applying an inverse gamma function or, more commonly, as gamma-correcting or gamma-predistorting the video signal(s). (If the camera output were a non-linear function of the illumination, the transformation would have to be appropriately modified so that the cascading of the camera transfer function and the operation on its output are equivalent to the gamma-predistortion of a linear signal.) A video signal which has been gamma-predistorted can, in turn, be linearized by applying the gamma function E.sub.o =E.sup..gamma. to the signal; this process is known as inverse gamma correction (and it is the mathematical model for the response of the CRT itself, of course). If the display device is linear but gamma-corrected image signals are to be displayed, then circuitry has to be provided along with or in the display to intercept the gamma-predistorted video signals and to gamma distort (i.e., inversely gamma correct) them before application to the display, to achieve an overall linear transfer function and accurately reproduce the color content of the image.
Many texts are available which explain gamma correction in the context of video, particularly television, systems. U.S. Pat. No. 5,196,924, for example, illustrates and explains gamma correction during image reproduction. The discussion therein is partially repeated and summarized here and the remainder of that patent is incorporated by reference for background.
In computer graphics systems, wherein an image is synthesized by the computer, the signal produced by the computer, for use by a monitor having a CRT, must be made to exhibit the same behavior as signals from a video camera, discussed above. Therefore, gamma-correction/predistortion is used on video signals applied to computer monitors as well as to television signals, to linearize the video output.
A color CRT typically receives three color component signals supplied on three independent channels. These channels are generally called R, G and B, corresponding to red, green and blue phosphors on the CRT screen. Selective excitation of the three phosphors at each place on the screen produces varying amounts of light from each phosphor, which red, green and blue lights are additively mixed to produce the displayed image. Each of the three channels requires gamma correction to ensure proper color reproduction.
In the prior art, gamma-predistortion typically is accomplished, as exemplified in FIG. 1, by performing two matrix multiplication operations (12 and 14) and three power law functions (16R, 16G, 16B) to produce a gamma-predistorted set of video signals from a video camera (not shown) or other source which provides a linear (i.e., gamma undistorted) output. These operations may be carried out in either the analog domain or in the digital domain, though for the purposes of this discussion, it shall be assumed that the video image signals are composed of a sequence of digital samples; however, unless specifically indicated otherwise, this discussion is not limited to digital processing.
For purposes of illustration only, and not to lose generality, the video camera output will be presumed to be digital samples of three components of a color image; these components may generically be referred to as C.sub.1, C.sub.2 and C.sub.3, to avoid implying any specific signal format. One popular type of camera output is a set of linear red (R), green (G) and blue (B) samples; "linear" means the sample value is proportional to the illumination on the camera target. Note that the camera RGB components can never be the same as the display primaries, for physical reasons. RGB signals are but one way of conveying the color information content of a video scene. Several other video signal representations have been adopted for various uses. Each of these representations can be mapped, using known operations, to any of the other representations. The three RGB signals from an RGB source, for example, may be mathematically combined (mapped) in various ways to provide equivalent representations of the same video information in other signal spaces using any of the other conventional signal sets (or even a non-conventional signal set). For example, they (R,G,B components) may be transformed into equivalent components in a standard YUV, CIE XYZ or other video signal color space. One such common video signal set is the Y,Cr,Cb signal set and it is the provision of gamma-predistorted Y, Cr and Cb component samples from a set of linear input components to which the present invention is most particularly directed in its exemplary embodiment.
At any given point in an image, the Y signal represents the luminance value; the Cr component is a scaled replica of the color difference signal often called R-Y (which is the difference between the red color level and the luminance); and the Cb component is a scaled replica of the color difference signal often called B-Y (which is the difference between the blue color level and the luminance). A good explanation of various color space representations and transformations may be found in A. Netravali and B. Haskell, Digital Pictures, Plenum Press, New York, 1988, which is hereby incorporated by reference.
The International Radio Consultative Committee (CCIR) in Recommendation 601, Encoding Parameters of Digital Television for Studios, CCIR XVth Plenary Assembly, Document 11/1041-E, Dubrovnik, Dec. 11, 1985, pp. 1-10, calls for a representation of color images (Y,Cr,Cb) using digital signals representative of luminance, Y, and two color difference components, Cr and Cb, representative of the color signal differences R-Y and B-Y, for each pixel respectively. Recommendation 601 also calls for subsampling the color difference signals by a factor of two-to-one with respect to the luminance signal. That is, each two pixels is represented by two luminance signal values, respectively, and by one pair of color difference signal values. In order to save some space when storing color digital image signals or to reduce the required communication bandwidth when communicating color digital image signals, ISO 11172 MPEG International Standard and ITU-T Recommendation H.261 require spatial subsampling of the color difference signals with respect to the luminance signal by a factor of four-to-one. That is, each frame is divided into two-by-two pixel regions, each two-by-two pixel region represented by four luminance signal values and two color difference signal values. Each pixel is associated with its own luminance signal value, but each group of four pixels is associated with only one color difference signal value for each of the two color difference signals, Cr and Cb.
Generation of a gamma-predistorted Y,Cr,Cb signal set from a linear set of input components is complicated by the fact that (since gamma nonlinearity is a function of the CRT characteristics) application of an inverse gamma function (i.e., gamma predistortion) is most efficiently (and most directly) done in the RGB signal domain. Any other approach is more complicated. Commonly, two matrix multiplications and one (per color channel) non-linearization (inverse gamma) function are required to convert linear component signals from a video camera to an equivalent set of Y,Cr,Cb signals. As shown in FIG. 1, the first matrix multiplication 12 maps the camera output signals into the color space defined by the display primaries; it produces a set of signals which shall be designated R*, G* and B*. Assuming the camera provides Y,Cr,Cb component output, the first matrix multiplication is given by ##EQU1## The asterisks as superscripts are used to denote linear signals. Obviously, if the input signals are in a format other than Y,Cr,Cb, a different conversion matrix will be necessary; however the coefficients for the conversion matrices are readily known or calculable for the conventional color component signal formats.
A non-linear mapping (i.e., gamma predistortion 16R, 16G and 16B) is then applied to each of the three signals R*, G* and B*, producing a set of gamma-predistorted signals R, G and B according to the equations: EQU R=.gamma..sup.-1 (R*) EQU G=.gamma..sup.-1 (G*) EQU B=.gamma..sup.-1 (B*)
where .gamma..sup.-1 is the predistortion non-linearity. These R, G and B signals are then matrix multiplied, in matrix 14, using a known coefficient set, to yield gamma predistorted Y, Cr and Cb signals as follows: ##EQU2## While this approach is satisfactory, and has been used conventionally, it is less efficient computationally than is desired in some systems. Where the gamma predistorted Y,Cr,Cb signal set is to be further processed, such as for transmission or recording, the processing time for all of the operations may be greater than desired or available. Then it is desirable and advantageous to produce the Y,Cr,Cb signal set with fewer computational steps and, therefore, less computing time.